package com.kmxd.ams.client.use.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 收藏夹表
 *
 * @author nickbi
 * @since 2023-01-11
 */
@Schema(description = "收藏夹表对象")
@Data
public class UseFavoritesEditDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键id */
  @Schema(description = "主键id")
  private Long id;

  /** 用户id */
  @Schema(description = "用户id")
  @NotNull(message = "用户id不能为空")
  private Long userId;

  /** 所属部门id */
  @Schema(description = "所属部门id")
  @NotNull(message = "所属部门id不能为空")
  private Long deptId;

  /** 档案id */
  @Schema(description = "档案id")
  @NotNull(message = "档案id不能为空")
  private Long archId;

  /** 公司id */
  @Schema(description = "公司id")
  @NotNull(message = "公司id不能为空")
  private Long comId;

  /** 全宗id */
  @Schema(description = "全宗id")
  @NotNull(message = "全宗id不能为空")
  private Long fondsId;

  /** 档案类型id */
  @Schema(description = "档案类型id")
  @NotNull(message = "档案类型id不能为空")
  private Long archTypeId;

  /** 档案表名 */
  @Schema(description = "档案表名")
  @NotBlank(message = "档案表名不能为空")
  @Size(max = 100, message = "档案表名长度不能超过100个字符")
  private String tableId;

  /** 档号 */
  @Schema(description = "档号")
  @NotBlank(message = "档号不能为空")
  @Size(max = 100, message = "档号长度不能超过100个字符")
  private String archCode;

  /** 题名 */
  @Schema(description = "题名")
  @NotBlank(message = "题名不能为空")
  @Size(max = 100, message = "题名长度不能超过100个字符")
  private String archTitle;

  /** 密级 */
  @Schema(description = "密级")
  @NotBlank(message = "密级不能为空")
  @Size(max = 100, message = "密级长度不能超过100个字符")
  private String security;

  /** 年度 */
  @Schema(description = "年度")
  @NotNull(message = "年度不能为空")
  private Integer year;

  /** 文号 */
  @Schema(description = "文号")
  @NotBlank(message = "文号不能为空")
  @Size(max = 100, message = "文号长度不能超过100个字符")
  private String docNumber;

  /** 创建人 */
  @Schema(description = "创建人")
  @NotNull(message = "创建人不能为空")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  @NotNull(message = "创建时间不能为空")
  private Date createTime;

  /** 更新人 */
  @Schema(description = "更新人")
  @NotNull(message = "更新人不能为空")
  private Long updateBy;

  /** 更新时间 */
  @Schema(description = "更新时间")
  @NotNull(message = "更新时间不能为空")
  private Date updateTime;

  /** 删除状态(0-正常,1-已删除) */
  @Schema(description = "删除状态(0-正常,1-已删除)")
  @NotNull(message = "删除状态(0-正常,1-已删除)不能为空")
  private Long delFlag;
}
